﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WLYT.Domain.ApiModel
{

    public class AgvRequest
    {
        public string action { get; set; }
        public string areaCode { get; set; }
        public string berthCode { get; set; }
        public string callCode { get; set; }
        public string callTyp { get; set; }
        public string clientCode { get; set; }
        /// <summary>
        /// 地码 X 坐标(mm)：任务完成时有值
        /// </summary>
        public int cooX { get; set; }
        /// <summary>
        /// 地码 Y 坐标(mm)：任务完成时有值
        /// </summary>
        public int cooY { get; set; }
        /// <summary>
        /// 容器编号
        /// </summary>
        public string ctnrCode { get; set; }
        /// <summary>
        /// 容器类型
        /// </summary>
        public string ctnrTyp { get; set; }
        public string currentCallCode { get; set; }
        /// <summary>
        /// 当前位置编号，任务开始：该位置为任务起点，走出储位：该位置为任务起点，任务单取消：该位置为工作位编号，任务结束：该位置为任务终点，取放申请：取放料箱的点
        /// </summary>
        public string currentPositionCode { get; set; }
        /// <summary>
        /// 自定义字段
        /// </summary>
        public string data { get; set; }
        /// <summary>
        /// 设备编号，如梳齿式工作站、输送线等，一般使用于CTU场景。系统根据仓位定位到关联的设备编号
        /// </summary>
        public string eqpCode { get; set; }
        public string indBind { get; set; }
        /// <summary>
        /// 地图编号
        /// </summary>
        public string mapCode { get; set; }
        /// <summary>
        /// 地码编号：任务完成时有值
        /// </summary>
        public string mapDataCode { get; set; }
        public string mapShortName { get; set; }
        /// <summary>
        /// 物料编号
        /// </summary>
        public string materialLot { get; set; }
        /// <summary>
        /// 方法名, 可使用任务类型做为方法名，由RCS-2000任务模板配置后并告知上层系统，
        /// 默认使用方式:
        /// start : 任务开始
        /// outbin : 走出储位
        /// end : 任务结束
        /// cancel : 任务单取消
        /// apply：CTU料箱取放申请
        /// </summary>
        public string method { get; set; }
        public string orgCode { get; set; }
        /// <summary>
        /// 货架编号：背货架时有值
        /// </summary>
        public string podCode { get; set; }
        /// <summary>
        /// “180”,”0”,”90”,”-90” 分别对应地图的”左”,”右”,”上”,”下”：任务完成时有值
        /// </summary>
        public string podDir { get; set; }
        public string podNum { get; set; }
        public string podTyp { get; set; }
        /// <summary>
        /// 请求编号
        /// </summary>
        public string reqCode { get; set; }
        /// <summary>
        /// 请求时间戳
        /// </summary>
        public DateTime reqTime { get; set; }
        /// <summary>
        /// 巷道编号
        /// </summary>
        public string roadWayCode { get; set; }
        /// <summary>
        /// AGV编号（同 agvCode ）
        /// </summary>
        public string robotCode { get; set; }
        /// <summary>
        /// 巷道内顺序号，巷道尾是0，到巷道头依次递增1
        /// </summary>
        public string seq { get; set; }
        /// <summary>
        /// 仓位编号：叉车与CTU任务时有值
        /// </summary>
        public string stgBinCode { get; set; }
        public string subTaskNum { get; set; }
        /// <summary>
        /// 当前任务单号
        /// </summary>
        public string taskCode { get; set; }
        public string taskTyp { get; set; }
        public string tokenCode { get; set; }
        public string username { get; set; }
        /// <summary>
        /// 工作位，与RCS-2000端配置的位置名称一致。任务完成时有值，与生成任务单接口中的wbCode一致。
        /// </summary>
        public string wbCode { get; set; }
    }
}
